#ifndef LOG_H
#define LOG_H

#include <stddef.h>
#include <stdio.h>
#include <time.h>
#include <stdarg.h>

// 日志级别枚举
typedef enum {
    LOG_LEVEL_INFO,    // 普通信息
    LOG_LEVEL_ERROR,   // 错误信息
    LOG_LEVEL_WARN,    // 警告信息（扩展用）
    LOG_LEVEL_DEBUG    // 调试信息（扩展用）
} LogLevel;

// 初始化日志（可选：如指定日志文件路径）
int log_init(const char* log_file);

// 输出日志（支持可变参数，类似 printf）
void log_write(LogLevel level, const char* format, ...);

// 关闭日志（如释放文件资源）
void log_close();

#define log_info(...)  log_write(LOG_LEVEL_INFO, __VA_ARGS__)
#define log_error(...) log_write(LOG_LEVEL_ERROR, __VA_ARGS__)
#define log_warn(...)  log_write(LOG_LEVEL_WARN, __VA_ARGS__)
#define log_debug(...) log_write(LOG_LEVEL_DEBUG, __VA_ARGS__)


#endif  // LOG_H
